package descarte.com.br.descarte.Bo;

import android.content.Context;
import android.widget.Toast;

import java.sql.SQLException;
import java.util.Collection;

import descarte.com.br.descarte.Bean.Fornecedor;
import descarte.com.br.descarte.Bean.Residuo;
import descarte.com.br.descarte.Dao.DatabaseHelper;
import descarte.com.br.descarte.Dao.FornecedorDao;

/**
 * Created by jvba on 22/03/2015.
 */
public class FornecedorBo {

    private DatabaseHelper dh;
    private FornecedorDao fdao;
    private Context ctx;

    public FornecedorBo(Context context) throws SQLException {
        dh = new DatabaseHelper(context);
        fdao = new FornecedorDao(dh.getConnectionSource());
        ctx=context;
    }

    public void cadastrar(Fornecedor fornecedor) throws Exception {
        int result = fdao.create(fornecedor);
        if(result==0){
            Toast toast = Toast.makeText(ctx, "Erro ao tentar cadastrar. Tente novamente.", Toast.LENGTH_SHORT);
            toast.show();
            throw new Exception("Erro ao tentar cadastrar. Tente novamente.");
        } else {
            Toast toast = Toast.makeText(ctx, "Cadastro realizado com sucesso!", Toast.LENGTH_SHORT);
            toast.show();
        }
    }

    public Collection<Residuo> listarResiduosOfertados(long id) throws SQLException {
        return fdao.queryForId(id).getResiduos();
    }

    public Fornecedor queryById(long id)
            throws SQLException {
        return  fdao.queryForId(id);
    }

    public void verificarSolicitacoes(int id) throws SQLException {
        Fornecedor fornecedor = queryById(id);
        int j = fornecedor.getResiduos().size();
        for(int i = 0; i<j;i++){
            //Escrever query personalizada
        }
    }
}
